Some modern mobile devices contain a variety of sensors that provide useful dynamic information about the current state of the device. For example, some devices include a Global Position System (GPS) receiver that provides high accuracy three dimensional location measurements in real-time for use by applications (e.g., map services). Some devices include a three axis accelerometer that measures linear acceleration within a local inertial frame and a three axis magnetometer. The main purpose of the accelerometer and magnetometer is to provide device orientation measurements (e.g., pitch, roll and yaw angles).
Another use of these sensors, however, is to augment the location (e.g., geodetic position) solution provided by the GPS receiver. The complexity, fidelity and computational cost of such an augmentation system can vary greatly. A complete integrated inertial navigation system (INS) solution uses a model driven probabilistic approach that fuses available sensor measurements to provide real-time navigation solutions (e.g., position, velocity, attitude). Another solution is to use ancillary sensor data (e.g., accelerometer and magnetometer data) that can be processed outside of the GPS receiver to generate navigation hints (e.g., the user is stationary, the user is moving, the user is turning). The hints can be exploited by the GPS receiver to further fine-tune its own internal processing (e.g., tune noise models) for more accurate navigation solutions.